Final Project Proposal:
Examining the Relationship between Green Space Access, Income, and Health

Instructor: Professor Ignacio Tiznado-Aitken

Course: GGR375H1 F: Introduction to Programming in GIS

TA: Evan Powers

Author Student # Email
Patrick A. Mikkelsen 1010572514 patrick.mikkelsen@utoronto.ca
Hugo Cheng 1009827323 hugo.cheng@mail.utoronto.ca
Mike McCracken [add here] mike.mccracken@utoronto.ca

Introduction & Research Question¶

Urban green spaces—including parks, trees, and natural vegetation—provide substantial benefits for public health and environmental resilience. Research demonstrates that residential greenness is associated with reduced mortality risk, improved cardiovascular health, better mental wellbeing, and protection against adverse environmental conditions such as extreme heat and flooding (Pinault et al. 2021). The COVID-19 pandemic further underscored the critical importance of accessible green spaces for physical and mental health, as urban residents increasingly relied on nearby parks and natural areas for recreation, stress relief, and social connection (Vabi 2022).

However, access to these vital environmental resources is not equitably distributed across urban populations. Studies across North America have documented significant disparities in residential greenness according to socioeconomic status and ethnocultural identity, with lower-income households and racialized communities consistently experiencing reduced access to quality green space (Pinault et al. 2021). In Toronto specifically, research has shown that low-income and racialized communities have significantly fewer trees and less access to parks compared to wealthier, predominantly white neighborhoods (Ward 2020).

These environmental inequities represent an urgent matter of environmental justice, as they may contribute to producing or exacerbating existing health inequalities in urban populations (Vabi 2022; Pinault et al. 2021). Understanding the spatial patterns and demographic correlates of green space access is essential for informing urban planning policies that promote environmental equity and public health. This study aims to examine the relationship between population demographics, income levels, and access to green space across Toronto's census dissemination blocks. Building on previous literature documenting green space inequities (Ward 2020; Pinault et al. 2021; Vabi 2022), we employ geospatial analysis techniques to investigate how socioeconomic and demographic factors correlate with the distribution of parks, trees, and vegetated areas throughout the city.

Research Question¶

How does access to green space vary across Toronto dissemination blocks according to household income and population demographics, and what spatial patterns of environmental inequity can be identified through geospatial analysis?

Background and Motivation¶

The Role of Urban Green Spaces¶

Urban forests and green spaces play a multifaceted role in promoting liveable, healthy, and resilient cities. Trees and vegetation provide critical ecosystem services including carbon sequestration, temperature regulation through mitigation of urban heat islands, stormwater management, air quality improvement, and biodiversity conservation. Beyond these environmental functions, green spaces contribute significantly to human health and wellbeing by providing opportunities for physical activity, social interaction, psychological restoration, and connection with nature (Pinault et al. 2021).

The health benefits of residential greenness are well-documented in epidemiological literature. Studies across Canada, the United States, and Europe have found inverse associations between residential greenness and all-cause mortality, cardiovascular disease, respiratory conditions, obesity, and adverse mental health outcomes (Pinault et al. 2021). In Toronto specifically, research has demonstrated that higher street tree density is associated with better self-reported health among residents (Ward 2020). The mechanisms through which green spaces influence health are diverse, including promotion of physical activity, reduction of psychological stress, enhancement of social cohesion, and buffering against environmental hazards such as extreme heat and air pollution.

Environmental Inequity in Urban Green Space Distribution¶

Despite the recognized benefits of urban green spaces, access to these resources is fundamentally unequal across socioeconomic and ethnocultural lines. National-level research in Canada found that mean residential greenness among 5.3 million census respondents in urban areas was significantly lower for immigrants (particularly recent immigrants), populations designated as visible minorities (particularly people of Filipino ancestry), lower-income households, and renters compared to White non-immigrants and higher-income homeowners (Pinault et al. 2021). The magnitude of these disparities varied across cities, with Montréal showing particularly pronounced inequalities where the highest income quintile experienced mean greenness values 0.08 NDVI units higher than the lowest income quintile.

In Toronto, these patterns of environmental inequity are clearly visible. Research by University of Toronto scholars documented that "the whiter the neighbourhood, the more trees and birds," while historically marginalized communities—particularly low-income and racialized populations—have markedly less access to tree canopy and park space (Ward 2020). Analysis of Toronto's urban forest distribution reveals that neighborhoods with higher proportions of Black, Indigenous, and People of Colour (BIPOC) residents consistently have lower tree canopy coverage and fewer parks compared to predominantly white, affluent areas (Vabi 2022).

Dimensions of Green Space Equity¶

Building more equity in urban green space access requires addressing three interrelated dimensions: proximity, quality, and governance. First, the World Health Organization recommends that urban residents have access to at least 0.5-1 hectare of public green space within 300 meters or a 5-10 minute walk from their home (Vabi 2022). Many low-income and racialized communities in Canadian cities fall short of this standard, requiring residents to travel longer distances to access parks and natural areas.

Second, green space quality matters as much as quantity. Parks in lower-income neighborhoods often feature less diverse tree species, fewer recreational amenities, and lower maintenance levels compared to parks in wealthier areas. Meeting the cultural needs of diverse communities—including Indigenous peoples—requires locally appropriate tree species and design elements that support cultural practices and promote urban biodiversity (Vabi 2022).

Third, meaningful participation of racialized, Indigenous, and other marginalized groups in the planning and governance of urban parks is essential to ensure their specific needs and interests are addressed. This includes influence over park location, quality of space, and long-term stewardship arrangements (Vabi 2022). Environmental justice demands not only where green space is located but also who has power in decision-making processes.

Research Motivation and Significance¶

This research is motivated by the urgent need to document and address environmental inequities in Toronto's green space distribution. As Canada's largest city and one of the most diverse urban centers in North America, Toronto serves as a critical case study for understanding how historical patterns of development, housing policy, immigration settlement, and urban planning have produced unequal environmental conditions across neighborhoods.

The timing of this research is particularly salient given three converging trends. First, the COVID-19 pandemic highlighted the essential role of accessible green space for physical and mental health, with residents in underserved neighborhoods experiencing compounded disadvantage (Vabi 2022). Second, growing awareness of environmental racism and calls for climate justice have created political momentum for addressing green space inequities. Third, Parks Canada's commitment to creating 15 new national urban parks presents an opportunity to center equity considerations in the expansion of urban green infrastructure (Vabi 2022).

Previous research has documented green space disparities at the national level and provided important evidence of inequitable distribution patterns (Pinault et al. 2021; Ward 2020). However, there remains a need for fine-grained spatial analysis at the census tract level that can identify specific neighborhoods experiencing green space deficits and inform targeted interventions. By examining the relationship between demographic characteristics, income, and multiple measures of green space access across Toronto, this study aims to provide actionable evidence to support more equitable urban forest planning and park development.

Furthermore, this research addresses a methodological gap by demonstrating the application of open-source GIS programming tools for environmental justice analysis. By utilizing Python-based geospatial libraries to process census data, green space inventories, and remotely sensed vegetation indices, this study illustrates how reproducible computational methods can support evidence-based advocacy for environmental equity.

Data Sources¶

[List the datasets you plan to use, including:

  • Dataset names
  • Sources/URLs
  • Spatial resolution
  • Temporal coverage
  • Key variables]

Required Libraries¶

This analysis utilizes Python libraries for geospatial analysis (GeoPandas), statistical computing (SciPy, NumPy), data manipulation (Pandas), and visualization (Matplotlib, Seaborn, Folium).

In [1]:
import geopandas as gpd
import pandas as pd
import shapely as shp
import folium
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns

# Set visualization style
sns.set_style("whitegrid")
plt.rcParams['figure.figsize'] = (12, 6)
plt.rcParams['font.size'] = 10
In [ ]:
census_boundaries_path = "Green Space & Income/data/ldb_000a21a_e/ldb_000a21a_e.shp"
census_data_path = "Green Space & Income/data/98-401-X2021007_eng_CSV/98-401-X2021007_English_CSV_data.csv"
census_sd_path = "Green Space & Income/data/lcsd000b21a_e/lcsd000b21a_e.shp"

Census Tract Boundaries and Spatial Delimitation to Toronto¶

Census tract boundaries from Statistics Canada's 2021 Census are loaded and transformed to the WGS84 coordinate reference system (EPSG:4326). Census tracts represent small, relatively stable geographic units designed to be homogeneous with respect to population characteristics, economic status, and living conditions.

To focus the analysis on Toronto proper (Census Subdivision Code 3520005), census tract boundaries are immediately clipped to the municipal boundary, excluding surrounding municipalities within the Greater Toronto Area.

In [ ]:
# Load census tract boundaries
census_boundaries = gpd.read_file(census_boundaries_path)
census_boundaries = census_boundaries.to_crs(epsg=4326)

# Load census subdivision boundaries and subset to Toronto
csd_boundaries = gpd.read_file(census_sd_path)
toronto_csd = csd_boundaries[csd_boundaries['CSDUID'] == '3520005'].copy()

# Ensure CRS match
if toronto_csd.crs != census_boundaries.crs:
    toronto_csd = toronto_csd.to_crs(census_boundaries.crs)

# Clip census boundaries to Toronto
toronto_boundaries = gpd.clip(census_boundaries, toronto_csd)
toronto_boundaries = toronto_boundaries.to_crs(epsg=4326)

# Filter to only polygon/multipolygon geometries (exclude any line features)
toronto_boundaries = toronto_boundaries[toronto_boundaries.geometry.type.isin(['Polygon', 'MultiPolygon'])].copy()

# Save the Toronto census tracts
toronto_boundaries.to_file("my_data/toronto_census_tracts.shp")

print(f"Loaded {len(census_boundaries)} census tracts total")
print(f"Subset to {len(toronto_boundaries)} census tracts in Toronto")to
Loaded 6247 census tracts total
Subset to 585 census tracts in Toronto

You're gonna wanna restart your kernel now...

In [2]:
toronto_boundaries = gpd.read_file("my_data/toronto_census_tracts.shp")
toronto_boundaries.explore()
Out[2]:
Make this Notebook Trusted to load map: File -> Trust Notebook

Census Demographic and Economic Data¶

The 2021 Census Profile dataset contains demographic and socioeconomic characteristics for all census geographic areas in Canada. Census tract-level records are extracted for subsequent analysis.

In [7]:
census_data = pd.read_csv(census_data_path, 
                          encoding="latin1", low_memory=False)
ct_data = census_data[census_data['GEO_LEVEL'] == 'Census tract'].copy()
The Kernel crashed while executing code in the current cell or a previous cell. 

Please review the code in the cell(s) to identify a possible cause of the failure. 

Click <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. 

View Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details.

Population and Income Variables¶

Population counts and median household income data are extracted from the census profile. These variables serve as the dependent and independent measures for analyzing green space equity.

In [ ]:
population_data = toronto_ct_data[
    (toronto_ct_data['CHARACTERISTIC_NAME'] == 'Population, 2021')
][['DGUID', 'C1_COUNT_TOTAL']].copy()
population_data.rename(columns={'C1_COUNT_TOTAL': 'POPULATION'}, inplace=True)
population_data['POPULATION'] = pd.to_numeric(population_data['POPULATION'], errors='coerce')

income_data = toronto_ct_data[
    toronto_ct_data['CHARACTERISTIC_NAME'].str.contains('Median total income of household', case=False, na=False)
][['DGUID', 'C1_COUNT_TOTAL']].copy()
income_data.rename(columns={'C1_COUNT_TOTAL': 'MEDIAN_INCOME'}, inplace=True)
income_data['MEDIAN_INCOME'] = pd.to_numeric(income_data['MEDIAN_INCOME'], errors='coerce')

Green Space Data¶

Municipal green space data includes parks, ravines, golf courses, and other vegetated areas within Toronto's boundaries. Spatial data are standardized to the WGS84 coordinate system for compatibility with census boundaries.

In [ ]:
green_spaces = gpd.read_file("Green Spaces - 4326/Green Spaces - 4326.shp")

Methodology¶

[Outline your analytical approach:

  • Data preprocessing steps
  • Spatial analysis techniques
  • Statistical methods
  • Python packages you'll use (e.g., geopandas, rasterio, scikit-learn)]

Expected Outputs¶

[Describe what you plan to produce:

  • Maps/visualizations
  • Statistical results
  • Python scripts/modules]

Timeline¶

[Break down the project into tasks with tentative deadlines]

Challenges and Limitations¶

[Identify potential obstacles and how you plan to address them]

8. References¶

Pinault, Lauren, Tanya Christidis, Olaniyan Toyib, and Dan L. Crouse. 2021. “Ethnocultural and Socioeconomic Disparities in Exposure to Residential Greenness within Urban Canada.” Health Reports (Ottawa, Canada) 32 (5): 3–14. https://doi.org/10.25318/82-003-x202100500001-eng.

Vabi, Vilbert. 2022. “Parks and Forests Are Missing in Marginalized Neighbourhoods.” Nature Canada, March 18. https://naturecanada.ca/news/blog/parks-and-forests-are-missing-in-marginalized-neighbourhoods/.

Ward, Christine. 2020. “Toronto’s Low-Income and Racialized Communities Have Fewer Trees: U of T Researchers | University of Toronto.” News. U of T News, October 26. https://www.utoronto.ca/news/toronto-s-low-income-and-racialized-communities-have-fewer-trees-u-t-researchers.